package com.liy.redisson.controller;

import com.alibaba.fastjson.JSONArray;
import com.liy.redisson.entity.ExcelUser;
import com.liy.redisson.entity.User;
import com.liy.redisson.utils.ExcelUtils;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.util.*;

/**
 * @author ly
 * @date 2022/11/15 17:41
 */

@RestController
public class ExcelController {


    @PostMapping("/import")
    public Object importUser(@RequestParam("file")MultipartFile file) throws Exception {

        List<ExcelUser> excelUsers = ExcelUtils.readMultipartFile(file, ExcelUser.class);
        for (ExcelUser excelUser : excelUsers) {
            System.out.println(excelUser);
        }

        return null;
    }

    @GetMapping("/export")
    public void export(HttpServletResponse response){
//        //表头数据  ExcelUtils.COLUMN_MERGE横向合并
//        List<Object> head = Arrays.asList("姓名","年龄","性别","地址",ExcelUtils.COLUMN_MERGE);
//
//        //用户1数据
//        List<Object> user = new ArrayList<>();
//        user.add("李四");
//        user.add(60);
//        user.add("男");
//        user.add("成都");
//        user.add("成都大道5号");
//
//        //用户2数据
//        List<Object> user2 = new ArrayList<>();
//        user2.add("张三");
//        user2.add(60);
//        user2.add("男");
//        user2.add("上海");
//        user2.add("上海大道10号");
//
//        //将数据汇总
//        List<List<Object>> sheetDataList = new ArrayList<>();
//        sheetDataList.add(head);
//        sheetDataList.add(user);
//        sheetDataList.add(user2);
//
        //设置下拉列表（键为第几列（从0开始）,z值为下拉数据）
//        Map<Integer,List<String>> selectMap = new HashMap<>(1);
//        selectMap.put(2,Arrays.asList("男","女"));
//        selectMap.put(3,Arrays.asList("北京","上海","成都"));
//
//        //导出数据
//        ExcelUtils.export(response,"用户表",sheetDataList,selectMap);

        List<User> list = new ArrayList<>();
        User user = new User();
        user.setName("李四");
        user.setAge(20);
        user.setSet(1);
        list.add(user);
        ExcelUtils.export(response,"用户表",list,User.class);
    }

}
